from flask import Flask,request,json,jsonify #导入flask
app=Flask(__name__)

from config import Config #导入配置文件
app.config.from_object(Config)


from flask_cors import CORS #配置跨域
CORS(app)


from db import db1 #导入pymysql




from views.course import bp_course #导入蓝图
app.register_blueprint(bp_course) #注册蓝图



from utils.comm import return_json


#测试添加展示
# @app.route('/test')
# def test():
#     sql1="insert into test values(0,'这是一条测试内容')"
#     db1.update(sql1)
#     sql2="select * from test"
#     res=db1.findall(sql2)
#     #返回
#     return jsonify({'list':res})


# work表操作接口
@app.route('/workM',methods=['POST','GET'])
def workM():
    if request.method=='POST':
        #获取前端传递的数据
        data=request.data
        if data:
            data=json.loads(data)
        else:
            data=request.form
        #添加到数据库
        sql="insert into work values(0,'%s','%s')"%((data['name'],''))
        db1.update(sql)
        #返回
        return jsonify(return_json(200,'ok'))
    elif request.method=='GET':
        #从数据库查询work表所有数据
        sql="select * from work"
        res=db1.findall(sql)
        #返回
        return jsonify({'code':200,'list':res})
    

def get_data():
    data=request.data
    if data:
        data=json.loads(data)
    else:
        data=request.form
    return data


# #重构数据
# def xtree(data):
#     #如果data存在
#     #定义一个空字典
#     tree={}
#     #定义一个空列表
#     list=[]
#     #先将数据转换成字典
#     for i in data:
#         #id作为key 整个内容作为值
#         tree[i['id']]=i
#     #判断是否为顶级父类
#     for j in data:
#         if j['pid']==0:
#             list.append(j)
#         else:
#             #判断父类中是否有子类，如果没有定义一个盛放子类的空列表
#             if 'son' not in tree[j['pid']]:
#                 tree[j['pid']]['son']=[]
#             tree[j['pid']]['son'].append(j)

#     return list


# #分类表操作
# @app.route('/cateM',methods=['POST','GET'])
# def cateM():
#     if request.method=='POST':
#         pass
#     elif request.method=='GET':
#         #从分类表中获取所有数据
#         sql="select * from cates"
#         res=db1.findall(sql)
#         print(res)

#         list=xtree(res)
        
#         #返回
#         return jsonify({'code':200,'list':res})

    


#设置工作流属性
@app.route('/setparams',methods=['POST'])
def setparams():
    data=get_data()
    #更新工作流中的参数
    sql="update work set parameter='%s' where id=%d"%(data['parameter'],int(data['id']))
    db1.update(sql)
    return jsonify({'code':200})



# 所有函数入口
if __name__ == '__main__':
    app.run()
    